package com.itwh.project.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import java.util.Date;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 部门
 * </p>
 *
 * @author 翁煌
 * @since 2020-07-05
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="Department对象", description="部门")
public class Department implements Serializable {

    private static final long serialVersionUID=1L;

    @ApiModelProperty(value = "部门id")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @ApiModelProperty(value = "学校id")
    private Long collegeId;

    @ApiModelProperty(value = "上级部门id，如果是校内一级部门，此字段为0")
    private Long parentId;

    @ApiModelProperty(value = "本部门在学校的层级，学校100，二级学院、教务处110，系部、科室120，股：130")
    private Integer level;

    @ApiModelProperty(value = "排序")
    private Integer orderNum;

    @ApiModelProperty(value = "部门编码")
    private String code;

    @ApiModelProperty(value = "部门中文名")
    private String name;

    @ApiModelProperty(value = "部门英文名")
    private String englishName;

    @ApiModelProperty(value = "部门状态：0表示正常，1表示关闭，2....")
    private Integer status;

    @ApiModelProperty(value = "当前负责人id，关联到employee.id")
    private Long headId;

    @ApiModelProperty(value = "当前办公室电话")
    private String telephone;

    @ApiModelProperty(value = "当前负责人办公室id，关联到office.id")
    private Long officerId;

    @ApiModelProperty(value = "创建时间")
    private Date createTime;

    @ApiModelProperty(value = "更新时间")
    private Date updateTime;

    @ApiModelProperty(value = "操作者")
    private Long byWho;

    @ApiModelProperty(value = "本记录是否有效")
    private Boolean deleted;

    @ApiModelProperty(value = "历史版本")
    private Long lastVersion;


}
